package com.foundryx.shared.core.utils;

import cn.hutool.json.JSONUtil;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;

/**
 * @className: JsonUtil
 * @author: ocxz1
 * @date: 2025/6/20 下午8:08
 * @Version: 1.0
 * @description: fx-share-resources
 */
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class JsonUtil {

    /**
     * 转JSON串
     * @param obj 对象
     * @return
     */
    public static String toJson(Object obj) {
        return JSONUtil.toJsonStr(obj);
    }

    /**
     * 转对象
     * @param jsonStr JSON串
     * @param clazz  类
     * @return 对象
     * @param <T> 对象类型
     */
    public static <T> T fromJson(String jsonStr, Class<T> clazz) {
        return JSONUtil.toBean(jsonStr, clazz);
    }

    /**
     * 判断是否JSON
     * @param jsonStr JSON串
     * @return 是否JSON
     */
    public static boolean isJson(String jsonStr) {
        return JSONUtil.isJson(jsonStr);
    }
}
